package Base;

import java.io.InputStream;
import java.io.PrintStream;
import java.util.LinkedList;
import java.util.Scanner;

public class Main {

	public static void main(String[] argv){
		
		/*
		 * Entré / Sortie
		 */
		
		final InputStream in=System.in;
		final PrintStream out=System.out;
		
		/*
		 * Création du graphe
		 */
		System.out.println();
		System.out.println("\tConstruction du graphe...");
		
		// les sommets
		LinkedList<SommetBase> sommets=new LinkedList<SommetBase>();
		SommetBase s10=new Sommet(10);
		SommetBase s400=new Sommet(400);
		SommetBase s26=new Sommet(26);
		SommetBase s35=new Sommet(35);
		SommetBase s1=new Sommet(1);
		sommets.add(s10);
		sommets.add(s400);
		sommets.add(s26);
		sommets.add(s35);
		sommets.add(s1);
		
		// les arêtes
		LinkedList<Arete> aretes=new LinkedList<Arete>();
		aretes.add(new Arete(s10, s26, 1, 1));
		aretes.add(new Arete(s10, s400, 1,2));
		aretes.add(new Arete(s400, s35, 1, 3));
		aretes.add(new Arete(s35, s26, 1, 4));
		aretes.add(new Arete(s10, s35, 1, 5));
		aretes.add(new Arete(s26, s1, 1, 6));
		aretes.add(new Arete(s1, s35, 1, 7));
		
		// les composantes connexes
		Connexe c=new Connexe(aretes, sommets);
		
		// le graphe
		Graphe g=new Graphe(c);

		/*
		 * Menu
		 */
		
		System.out.println("\tMenu");
		// out.println("Tapez 1 pour calculer la base de cycles du graphe");
		// Scanner scan=new Scanner(in);
		// if(scan.nextInt()==1){
			BaseCycle b=new BaseCycle(g);
			b.calculerBaseCycle();
			// }
			
		System.out.println();
		
	}
	
}